/**
 * 公用的异步验证
 */
const init = require("../../util/init")

    // 验证宿舍楼id是否存在
    init.validate.validators.dormitoryIdExits = async function(value){
        const res = await init.Dormitory.findByPk(value)
        if(res){
            return
        }
        return "is not Exits"
    }
    // 验证楼层id是否存在
    init.validate.validators.floorIdExits = async function(value){
        if(!value){
            return
        }
        const res = await init.Floor.findByPk(value)
        if(res){
            return
        }
        return "is not Exits"
    }
    // 验证房间id是否存在
    init.validate.validators.RoomNoExits = async function(value){
        if(!value){
            return
        }
        const res = await init.RoomNo.findByPk(value)
        if(res){
            return
        }
        return "is not Exits"
    }
    // 验证床位是否存在
    init.validate.validators.bednumberExits = async function(value){
        if(!value){
            return
        }
        const res = await init.Bednumber.findByPk(value)
        if(res){
            return
        }
        return "is not Exits"
    }

    // 验证管理员id是否存在
    init.validate.validators.AdminExits = async function(value){
        if(!value){
            return
        }
        const res = await init.AdminInfon.findByPk(value)
        if(res){
            return
        }
        return "is not Exits"
    }
    // 验证学号id是否存在
    init.validate.validators.stuIdExits = async function(value){
        if(!value){
            return
        }
        const res = await init.StudentSInfon.findByPk(value)
        if(res){
            return
        }
        return 'is not Exits'
    }
    // 验证班级id是否存在
    init.validate.validators.classInfoExits = async function(value){
        if(!value){
            return
        }
        const res = await init.classInfo.findByPk(value)
        if(res){
            return
        }
        return 'is not Exits'
    }

     // 验证宿舍楼id是否存在(数组)
     init.validate.validators.dormitoryIdArrExits = async function(value){
        const res = await init.Dormitory.findAll({
            where:{
                id:{
                    [init.Op.in]: value
                }
            }
        })
        if(JSON.parse(JSON.stringify(res)).length !== 0){
            return
        }
        return "is not Exits"
    }
    